Skip to content

Add blog feature with index, post layout, and styling#94

Merged
amavashev merged 2 commits intomainfrom
claude/add-blog-section-AidBd
Mar 19, 2026
Merged

Add blog feature with index, post layout, and styling#94
amavashev merged 2 commits intomainfrom
claude/add-blog-section-AidBd

Conversation

@amavashev
Copy link
Contributor

Summary

This PR introduces a complete blog feature to the documentation site, including a blog index page with tag filtering, individual blog post layouts, and associated styling.

Key Changes

  • Blog Index Component (BlogIndex.vue): Interactive blog listing with tag-based filtering, displaying post metadata (date, author, description) and tags
  • Blog Post Layout (BlogPost.vue): Header component for blog posts showing publication date, author, and tags
  • Content Loader (blog/posts.data.ts): VitePress content loader that extracts and sorts blog posts by date, with support for frontmatter metadata (title, date, author, tags, description)
  • Blog Styling (custom.css): Comprehensive styling for blog index, cards, tags, and post headers with theme variable integration
  • Sample Blog Post (introducing-cycles-blog.md): Initial blog post announcing the blog launch
  • Blog Index Page (blog/index.md): Landing page for the blog section
  • Navigation & Config: Added blog link to main navigation and configured sidebar for blog routes
  • SEO Enhancement: Added Open Graph meta tags for blog posts (og:type, og:title, og:description, article:published_time)

Implementation Details

  • Blog posts are automatically sorted by date (newest first) and filtered by selected tags
  • The "All" button in the tag filter shows all posts regardless of tags
  • Blog posts support optional author field (defaults to "Cycles Team")
  • Blog components are globally registered for use in markdown files
  • Blog posts are excluded from the main sidebar navigation via sidebar: false frontmatter

https://claude.ai/code/session_01DFbbaGiNgqUcLj7cMQaBdn

claude added 2 commits March 19, 2026 19:54
Adds a lightweight custom blog infrastructure using VitePress's
createContentLoader API — no new dependencies required.

- Blog data loader (posts.data.ts) scans blog/*.md at build time
- BlogIndex.vue renders post cards with tag filtering
- BlogPost.vue injects date/author/tags header on blog posts
- Nav bar includes Blog link, blog pages have no sidebar
- Includes a sample introductory blog post
- Blog styles use existing VitePress CSS variables for theme consistency

https://claude.ai/code/session_01DFbbaGiNgqUcLj7cMQaBdn
- Change glob from blog/*.md to blog/**/*.md for subdirectory support
- Fix sidebar: use empty array instead of false (VitePress requires iterable)
- Add sidebar: false to blog post frontmatter template
- Add og:type, og:title, og:description, article:published_time for blog SEO

https://claude.ai/code/session_01DFbbaGiNgqUcLj7cMQaBdn
@amavashev amavashev merged commit 35d6d4a into main Mar 19, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants